collision detection works decently now