Significant refactoring and clean up. Search is fully functional. More documentation coming soon.