added ctors, enums