collision: added functions to cleanup slightly, collision almost works