add YAML and JS loaders. add tests