Add constructor and specification