using reduction kernel in thomson