added combine, exclude and include type functions