add interface and enum
added some references and more base classes