progress bars for any async function