whitespace changes, thanks emacs
require Program in a couple more places
revamp userloop
no destroying
pass content-length
optionsFn
program args