Initial commit, structure for GUI, Driver and Singleton pattern