GUI ported. No compileErr, but not tested