no need to pass mgr to every constructor