first draft of mulithreading behavior