collision logic revamp