refresh implemented