add groups to clean the file structure
add code comments