lots of work. don't remember it all.
part of it was issue #30