Refactored collisions some, still needs work.