def interact_dict(menu, logFlag=0, secFlag=0):     # menu + extension flags
    import os, security, logger                    # utility modules
    user = os.environ['USER']
    if secFlag:                                    # any allowed?
        for name in menu.keys():
            if security.allow(name, user):
                break
        else:
            print "You’re not authorized for any menu selections"
            return
    while 1:
        for name in menu.keys():                   # show legals
            if (not secFlag) or security.allow(name, user):
                print '\t' + name
        tool = raw_input('?')
        if logFlag:
            logger.record(user, tool)              # log it, validate it
        if secFlag and not security.allow(tool, user):
            print "You're not authorized for this selection - try again"
        else:
            try:
                menu[tool]()                       # run function
            except KeyError:              
                print 'what? - try again'          # key not found
