refacto + position