adapt kernel interface