final methods for update