Split the program

No touch on functionalities