added string enum type
added first design of component/entity framework