add save and load to file by serialization