Add specialized constructor