refactored creole classes