configure testing
rename some top-level functions
refactor to use a LanguageData class