added proper collisions and simulation failure when objects collide