improve collision detection, maybe