add the datatypes and gather operation