add collision delegate handling