Add print function and fill out ctor