bringing back the pointer_state because i dont know why i took that out (clearly was not thinking)