First shoot for collision detector, might need changes in return val, but the algorithm works