finalized to use yaml for data persistence