more on implementing abstraction
more on implementing abstraction