refactoring with james