lang, major rework to improve coding style
better organization of the different stages of the game to have less global code.