Restructure, added comment and better timing

- Restructered the code for better reading
- Added more comments
- Better timing
- Removed bug in README.md
Added license and .gitignore
serves /test dir as static resource
serves /test dir as static resource