added parameterless ctor