added multithreading support! now the entire program doesn't block on expensive operations such as fetch and commit