refined collision detection and game flow