refactoring get op