class based gui version