Add kernel choice functionality