progress so far
Basically working, still need to sort out collisions