Refactored initialization and file IO
Optimized separation between GUI and business layer