gah
got spart pointers and initializer lists working