Massive rehaul, adding multi language support, modularizing code