improve collision handling