refactor + link reverse