more refactored WolphinProject class