implementing refresh