better update handling