implemented refresh