use base class for followed and following type