better collision detection and message passing, new map