add refresh functionality