 In the previous video, we learned how to use vectorized read underscore CSV function to ingest multiple CSV files at once. In this video, we'll introduce the PER library and the map underscore DF function to accomplish the exact same task. So while this may seem slightly redundant, it actually requires even more code. I just want to introduce the concept of using PER slash map functions and we'll learn more about those later. Watch all the videos to see how you can iterate custom functions in your R analysis workflow. All right. So the first argument here is actually a vector and it's that same vector of three elements that we saw up there. So we're going to iterate over each element of the vector and what we're going to apply to each element of the vector is the read underscore CSV function. Okay. The way map underscore DF works is the first argument is a list or data frame. Second argument is the function that you're going to apply to iterate over the elements of and then there are multiple arguments for that function. In this case, we're using a function from the reader library read underscore CSV and those functions that we've used earlier up in line 42. So the other thing I want to introduce is the notion that map has several different dimensions. Map underscore DF returns a data frame. Map underscore map all by itself is going to return a list which you see here and because the lists are automatically displayed in our studio, you see them as data frames. In this case, foo underscore DF is a list. If I add map underscore DF, I get a data frame back. If I use CHR, I get character back if it's relevant to whatever operation I'm doing, I could use LGL for logical or DBL for double numeric and it all just depends. We'll learn more about this later. But in this case, I want a data frame. So map underscore DF and I get back a 3000 row data frame just like I did in the previous video. So to recap, map allows you to apply a function to a list. In this case, the list is a vector or it could be a data frame but you're iterating over the elements of the list and you could apply the same arguments that we did in the read underscore CSV function up at line 42 where you can coerce data types to particular variables. So that's the brief introduction to map and the per library. We'll talk more about it later.