Re-did kernel framework