refactor: all Info data can be stored as String and recover from String