refactored each kernel into its own binary