removed operator() from kernel class. now explicitly call launch()