these collision handlers are probably pretty close