refactor object