This is a summary of the current command list, x = new since version 1 addGadgetImageButton left top imname id addGadgetImageButton2, left top imname1 imname2 +x +y text id addGadgetInteger left top chars bufsize str name id addGadgetProp left top wid height hon von hpot vpot hbody vbody id addGadgetString left top chars bufsize str name id addGadgetTextButton left top name id addMenuItem text addMenuItems text1 mut text2... beginGadgetList beginSubMenu left top beginMenuStrip x blit wsrc sx sy wdest dx dy sizex sizey mini x checkmark image wid height-flag createScreen name wid height depth title image-color-map detail block closeScreen name createWindow wname sname x y wid height idcmp flags gadgets title closeWindow name delay ticks drawline wname x1 y1 x2 y2 penA penB mode x draw wname x1 y1 drawImage wname image x y x ellipse wname cx cy hr vr penA endGadgetList name endSubMenu endMenuStrip fillBox wname x1 y1 wid hgt penA PenO x fillBoxs sname x1 y1 wid hgt penA PenO x flood wname mode cx cy penA penO freeGadgetList name freeMenuStrip gadgetOpt "+-=" flags "+-=" activate mutualex globalGadgetOpt image imname file menuItemOpt "+-=" flags mutualex char frontpen backpen mode x menuItemSize value x menuItemHeight value menuItemLastRow value menuItemTextAttr x move wname x1 y1 nextItemColumnOffset value x palette window x y sizex sizey x refreshgadgets wname setFont name size x setpens wname penA penB penO screen sname code x setdrawmode wname mode strings "xxx" ... textat wname x y text penA penB mode textStrings xinc yinc text ... wBenchToBack x wBenchToFront x window wname code say var val setstr var val set var val add val var add3 val val var sub val var mul val var div val var loop num x endloop x stoploop rexx window rexxport rwait rexit runrexx window rexxport run window trapEnable x if var relation var x else x endif Note: stoploop did not make the manual, it is NOT as intuitive as it should be, its just a stopgap. It clears the down counter so that on the NEXT iteration, the loop (most nested level) will terminate. Unlike a BREAK in C, it does not stop immediately, rather it finishes the current iteration. To use effectively, one should use an if block. E.G. loop 999 stuff more stuff if end = true stoploop else other stuff in this loop endif ! do NOT place anything here or it will be executed once more after stoploop. endloop If you really need elaborate control, its best to use the arexx interface.