Transactional file save and unit tests
Update readme