A great deal of refactoring, updating jsdocs and added an advancedsearch method.