added yaml save/load functionality. added some tests... needs refactoring and more tests but basic functionality is done