Hypo - Added Inheritance to make implementation easier.