added smart pointers to sourcelists