integration of gui and logic