Adding languages

this is adding the language data list as well as refactoring things so that it is easier when we add the future data-lists.
I would put newlines between describe and before, before and it, and the different its. Just for readability