moved from yapcheahshen/yaml