presenter class rewritten