Implement (mostly) working collision detection!