add check for Model consistency

and the "big 4" constructors for model