_pos refactor