I know all of this but I really want this via subclassing , isn't it possible.

Anyway thanks for replying.