shared ptr's everywhere