added language support. if language is not available, nil is returned instead of language code name