https://mt.mediatinker.com/blog/2011/09/15/languageimplementation.jpg