typedefs for the shared_ptrs