join on greenlets instead of looped sleep, adding theoupdate