stricter version and faster collision