added .gitignore
rewriten most of the project