pass arguments to ctor