utilizing collision function
fix conflicts