collide refactor