Refactoring problem implementations