better hit detection