More reorg, outlined enum
Enum and Aggregate
Working on functions