add requirements and update gitignore