refactor work