based off of ElementalX kernel