continuing effort to add threading and futures