added doc-strings and an application base class