add collision handling