Broke out some of the functionality into  separate files for easier organization
Updated some of the readme docs.