Object - oriented programming: an evolutionary approach - Cox, Brad J . (Addison-Wesley, 1991)