initialization and refresh