I created the project to compile as a .dll and use to call in other projects. what is confusing is how this will work if just giving someone the .dll's or even as a webservice. If I want someone to consume the .dll or the webservice I have to have them create an AuthRepository.cs, RepositoryBase.cs and a RequestHelper.cs?? This will not work for any webservice that I know of. How is this efficient and work in the real world if you want someone to consume your service? Do you have to tell them to add these files to their project and give it to them which doesn't seem practical to me.