Split files for better management. Updated README. Provide limited user feedback and better error catching