implement threaded submission system