Added pull-to-refresh support and infinite scrolling - revised