fix: if collides, but previous direction if free, use previous direction
fix: if collides, but previous direction if free, use previous direction