Finished new advance kernel interface. TODO: implement all advance_type