* tour refactor