fixed last bug with save/restore, i promise