non-functional update