mainframe theory