refactor using save() and restore(), added translations to group