Movement now implemented with correct collision detection. Might still be buggy, though.