Add enums, packages, and initial version