Added a bit more suggestions about main structure of this program