added silent_refresh ability to refresh function