better YAML parsing