merged johns branch with master. languageTypes and search