algebra visitors split in different files