reverse directions, fixed boundaries, added draw order. Still need to refactor