added pull-to-refresh functionality