initial support for recursive validation of models
simplified code and new is related method