till the intruduction of the command pattern