update discrete