setup base GUI and Module classes (taken from CSIDE project and slightly modified for single module use)