update some implementations replaced by high level method