added pull to refresh and infinite scrolling