Further expansion of documentation

added documentation and added more functionality to the core classes around adding patterns.