Add more cc ctors functions; make shared_ptr to data const.