add more refactoring and persit file on disc feature using YAML sintax