different GUI's contract