simplified function for tutorial; don't use ignoreError