recipe: default data-reader