added specific enums and definitions