add contructor