add contructor
format code