Added proposed code restructing for better understanding of code, by people who want to use the system