Can now persist to file. closes #56