added presenter::base class