change initialization and settings update logic