improved basic collision