start impl. replacement logic