massive refactoring, and wrote wall collision detection that DOESNT GODDAMN WORK