own implemented language support. to be continued and refactored