Implementation 3: kernel change to CSR