implement fiber::join