minor fixes
more experimentation
new concept. one problem: an awkward mutex