better solution for language