collision programming