made constructor public so make_shared would work.