[MUSIC] So, remember that we're working with MVC programming here model view controller, programming in Model-View-Controller architecture. So we're going to go ahead and put all of our model classes which there will be three. A users class, a list of users class and a class called hobby. And we're going to put all three of those models, those three different classes into one file called classes.swift. Excuse me, Models.swift and then all of our DataProviders as well, which there will be two classes. There will be a UserDP, user data provider class and a HobbyDP, hobby data provider class. We're going to put those two data provider classes inside of one source file called DataProviders.swift. Just to help you organize your code a little bit. So let's go create those new files. If in the bottom left corner, hit the plus button and then say add a file. I'm going to create a new Cocoa class and this will be called Models.swift. We're going to rename the class, so that the file name comes up Models.swift. Put in the word models in this wizard. And we want it to be a subclass of our SFLBaseModel which we added to our project already in an earlier video. And make sure that the language is set to Swift. So we can now hit Next, save it to the default location and here we are. We have our Models class importing from SFLBaseModel. We want to change this to import the Foundation framework and we're not going to have a class that's actually called Models. You'll notice that my file name is Models.swift like I told you it would be, but we want this class to be called User. That's one of our classes and then I'll just copy paste this code quickly. I'm going to make another class called ListOfUsers. And one more time, I'll make a class called Hobby. So those are the only three model classes in our whole entire application. So now I have skeletons for all of my model classes and I should be able to reference those in my code. Let's do the same thing for our data providers. So again, in the bottom left corner, hit the plus button, File, new Cocoa class and I'm going to call this DataProviders. And this one will just be subclass of NSObject. Again the language is Swift, say Next and save it in the default location. Same thing we want to import the Foundation framework and change the name of our class. So I told you there would be a User data provider class and there will also be a Hobby data provider class. All right, so now we have skeletons for all of our models and data provider classes. If we return to where we were in the Hobby Share View Controller, we should see. You may have to build so I can go edit a product and build, where you can hit command B on your keyboard to build. And it's telling me hobbyDP has no number fetchHobbies. So fetchHobbies is a function that I put here in the note to you that we're providing to you. So that's inside of the playground file in the starter kit that we're giving to you on the class page. So let's go get that. I'm going to go to my Finder actually and get my starter kit. And open up that playground. And here you'll see it says APPLICATION DATA, Note this code will not compile inside of this playground. See we get this error, so that's expected. Copy and paste this entire function into your HobbyDP.swift class. So I'm just going to grab this whole function and copy it. And then come into my HobbyDP class inside of our DataProviders.swift file. And I'll just paste this function into there. So this contains the list of all of the available hobbies that the server will accept. Please do not modify the contents of this function or you may have difficulty saving your hobbies. All right, and we get a whole bunch of errors because we used this one function, init function in it with hobby name several times. But we haven't created that function yet, so as we go to fill out that class, we'll see those errors go away. But lets return now to our HobbyShareViewController class and we see that that error on line 7 went away. because we've now implemented the fetchHobbies function. [MUSIC]