initial structure + .gitignore updates