split functionality, only restore is left