factory & yaml