def womhelp(hop):
    """list function of each command"""
    from tmath.wombat.getch import getch
    print(' ')
    print('Wombat.py is the python replacement for Sarah.  She does many of the ')
    print('same things, but usually in a faster and simpler way.  The ')
    print('organization is quite simple.  Once a spectrum is read in, ')
    print('it is the active object for all subsequent operations, until ')
    print('another spectrum replaces it as the active one.  There is a ')
    print('twenty (20) slot hopper that can store the spectra for later ')
    print('use.  Wombat will maintain header information from a fits file, ')
    print('and adjust it as operations are performed.  She is unfortunately ')
    print('very finicky about input, so don''t try to use letters when you ')
    print('should be using numbers.  Questions should be directed to ')
    print('Tom Matheson.  Good luck.  You''ll need it.')
    print(' ')
    print('Hit any key')
    a = getch()
    print(' ')
    print('rpl, rtxt:  read ascii spectrum, (wavelength, flux, <sigma>)')
    print('wpl, wtxt:  write ascii spectrum, (wavelength, flux, <sigma>)')
    print('rfits:  read fits format spectrum (1-D only)')
    print('wfits:  write fits format spectrum (1-D only)')
    print('rmsfits: read multi-spec fits file')
    print('hop:  store spectrum in hopper (20 available)')
    print('rh, rdhop: read spectrum from hopper to active status')
    print('buf, buffer: list contents of hopper')
    print('e, examine: print flux values for given wavelength range')
    print('p, plot: plot spectrum (asks for wavelength range, y-scale adjustable')
    print('ph, hard: OBSOLETE, use matplotlib save button')
    print('pl, plotl, plotlog:  plot with x, y, or both on log-scale')
    print('apl, oplot: add plot to current plot window')
    print('cho, choose: select subset of spectrum by wavelength range')
    print('stat: compute statistics on given wavelength range')
    print('bin: change wavelength binning scale (linear binning, ')
    print('      uses scipy interpolate with cubic')
    print('ashrebin: Ashley quadratic interpolation (classic mode)')
    print('b, blotch: blotch out bad pixels interactively')
    print('com, combine: add two spectra with equal weight')
    print('cmw: add two spectra with unequal weights')
    print('cat: interactively splice together blue and red halves of spectra')
    print('join: combine red and blue pieces of abutting spectra')
    print(' ')
    print('Hit any key')
    a = getch()
    print(' ')
    print('spl, spline: fit spline to spectrum, option to subtract, save spline')
    print('w, redshift: remove redshift in z or km/s, rebins automatically')
    print('ms, arith: spectrum arithmetic, add, subtract, multiply, divide')
    print('fnu, flux: convert flux scale')
    print('smo, smooth: smooth spectrum with boxcar or Savitzky-Golay')
    print('sca, scale: multiply spectrum by constant')
    print('avt, scale2: scale one spectrum to match another')
#    print('win, window: eliminate flux values beyond given ranges')
    print('velcho: choose subset, put on velocity scale, zero at given value')
    print('gau: fit gaussian+line to emission lines, returns flux, EW')
    print('int: calculate intensity in emission lines')
    print('linesub: use one line as profile, subtract elsewhere')
    print('red: (de)redden spectra')
    print('bluen: bluen spectrum with scattering law')
    print('com3: combine three spectra equally')
    print('head, fitshead: page through the header')
    print('zap: median filter spectrum')
    print('xshift: add constant to abcissa (wavelength)')
    print('yshift: add constant to ordinate (flux)')
    print('bb, planck: calculate blackbody curve for given temp.')
    print('atmdisp: calculate atmospheric dispersion effects')
#    print('zcalc: determine redshift between two spectra (BETA)')
    print('$[command]: executes unix (shell) [command]')
    print('help, ?: print these help pages')
    print('q, quit: quit the program')
    return hop
