specs and better gitignore