Implementation of Issues #106 #107

ALOT. of code. @iamregan the JSON file has new arrays for the 3 types of
documents as we discussed. Take a look