misunderstanding of make_shared function