Final restructure of the code
Final restructure of the code