add progress & pull to refresh