party controller refactored.