add initializer method