The program has been designed in a strictly modular way. The purpose of this is to make the program easier to maintain on different computers, easier to debug, and last, but not least, to facilitate the introduction of new options and ideas by different people at the same time. Developers are required to keep to a set of programming rules, to ensure lack of interference between different branches of the program. Parallel development work is therefore painless.
Various major functions (such as the map handling) are described in a major menu list. Such a major menu can expand to a maximum of ten minor menu keywords, allowing the user to select the particular operation to be performed. Thus, the major menus do not perform any actions of their own, but merely constitute a logical grouping of minor menus (commands). This design is intended to make it easier for both developers and users. Flag codes are issued to developers, ten at a time, without caring if they are all used.
The macro facility of O enhances the functionality of the program. O also contains a powerful graphics interpreter, enabling the user to display any graphics data, wire frame or solids.