implement suggest function