refactoring party app