Position type refactory