implemnting gui