first pass of pointer locking