update metadata implementation