refactoring, introduced Enum