provisionally proposed code for addressing #311

if everyone likes this, perhaps something could be done with it

possibly incomplete list of things I haven't done:
 * really evilly tried hard to break it
 * tested on any other OS besides Mac
 * updated the User Manual