added more constructors and encapsulation in GUI and made init method
protected