cleaned pos struc refactor