created base activity which may be subclassed to reduce redundant code