create language functionality