making Content an interface, introducing AbstractContent as a base class