better getCurrentPosition