added pointer lock