add more methods in saver, tested, works well