refactor(restart) split into many files