Collision now works (but still not optimized)