Re-factored user prompts and file i/o to separate files
Fixes #10