update
History implementation