Second Commit

Protocols v/s Subclasses