fix update internal implementation