refactor, put in framework to update existing positions.