feat(filename): Add optional output file name/path

Refactor codebase for maintainability
0.2.0