added double underscore to the generated case objects to avoid name clashes