add kernel time optimization to try later