Full code review

Please add a README describing what this code is doing:
- input format
- output format
- parameters 
- etc