refactoring
collision fixing