fixed collision detection, still unsure how :D