more dynamic and smooth result rendering with callback