adding face detect class, generalizing code to run optimal kernels based on data