better exception handling
modify gitignore
update .gitignore
update .gitignore
update structure