finish the retrieve implementation...