Added enums and interfaces