changed the main structure of the complete project, now the program is
divided into 3 layers