add comment use polymorphic