james | refactoring