refactor collision
fix collision