modified back end design to have polymorphic likeable