improve palette update