added base classes and fixed typos