support JSON and YAML files
update tests