Restructure project
Add more comments
Add make script