improve enum
improve