refactored, rewrote, rethought-out from ground up

everything functions except rotation