refactoring add partial