added validation and generic description reader