there might be some bugs in how i coded them up in the first pass
there might be some bugs in how i coded them up in the first pass