implement basic retrieve