extracted model class for GUI handling