added Enum (not complete)