completed with aggregate root helper
refactoring