refactoring, algo, and more