refactoring
rst