implements update option