Added several repositories and interfaces along with the coding that each entailed