Add visitor desigin pattern