Merge from Mark's code. Modified memcat to use enum for options.