Gellish: A generic extensible ontological language - design and application of a universal data structure -