Merging Paul's code with some cleanup
- Ability to Check code
- Use TIKA to provide I/O Suggestions