some improvements & gitignore