adding threading
first pass of threading integration into library
reworked log
logging and threading updating