better colision detection