done: left right threading, debug, test, name assignment