Moving backend away to kernel