refactoring alternatives