refactored suggestion functionality