improved collision checks