Don with basic requirements

Remaining parts
1. Error Handling
2. GUI