refactoring party create