Add dependencies.
Add gitignore.
Extract stuff into functions.