list initializer
complex constructur now is a pure virtual class