An implementation of retriever.