Object oriented program design : with examples in C++ - Mullin, Mark (Addison-Wesley, 1989)