refactor

moved all code into separate language files