optimize initial data handling (listen to change event only after initial data)