implement pull to refresh, fix #44