with this change we allow the users to use YAML to define contracts fixes gh-300 gh-508 helps with #501