new positioning algorithm