call parent constructor as well