refactor with rxjs, playground for position estimation