uses watchPosition instead of get position