refactored suggest