implementation for doAsWhatISay()