after things settle down, i've decided that these should be broken out into their component programs again; combining them was a mistake...