refactoring + suggest