diff --git a/inc/gaussian_kernel.h b/inc/gaussian_kernel.h
new file mode 100644
index 0000000000000000000000000000000000000000..10774a5ea8430d90ccdefcce2b505d1b57905f0e
--- /dev/null
+++ b/inc/gaussian_kernel.h
@@ -0,0 +1,14 @@
+#ifdef KERNEL_TYPE
+ComputeType(gaussian, gaussian_compute);
+CreateType(gaussian, gaussian_create);
+DestroyType(gaussian, gaussian_destroy);
+#else
+#ifndef GAUSSIAN_H_
+#define GAUSSIAN_H_
+#include <stddef.h>
+typedef struct gaussian_kernel gaussian_kernel;
+void* gaussian_create(char* name);
+double gaussian_compute(size_t i, size_t j, size_t k, double* origin, double** basis, void* src);
+void gaussian_destroy(void*);
+#endif
+#endif
diff --git a/inc/lenard_jones_kernel1.h b/inc/lenard_jones_kernel1.h
new file mode 100644
index 0000000000000000000000000000000000000000..c54bf0e6048606676586ec06a9bafedc803124d3
--- /dev/null
+++ b/inc/lenard_jones_kernel1.h
@@ -0,0 +1,14 @@
+#ifdef KERNEL_TYPE
+ComputeType(lenard_jones1, lenard_jones_compute1);
+CreateType(lenard_jones1, lenard_jones_create1);
+DestroyType(lenard_jones1, lenard_jones_destroy1);
+#else
+#ifndef LENARD_JONES1_H_
+#define LENARD_JONES1_H_
+#include <stddef.h>
+typedef struct lenard_jones_kernel1 lenard_jones_kernel1;
+void* lenard_jones_create1(char* name);
+double lenard_jones_compute1(size_t i, size_t j, size_t k, double* origin, double** basis, void* src);
+void lenard_jones_destroy1(void*);
+#endif
+#endif
diff --git a/inc/onc_elec_kernel.h b/inc/onc_elec_kernel.h
new file mode 100644
index 0000000000000000000000000000000000000000..ff60fc8181e50abfda5fce8f239f308542158cf8
--- /dev/null
+++ b/inc/onc_elec_kernel.h
@@ -0,0 +1,14 @@
+#ifdef KERNEL_TYPE
+ComputeType(onc_elec, onc_elec_compute);
+CreateType(onc_elec, onc_elec_create);
+DestroyType(onc_elec, onc_elec_destroy);
+#else
+#ifndef ONC_ELEC_H_
+#define ONC_ELEC_H_
+#include <stddef.h>
+typedef struct onc_elec_kernel onc_elec_kernel;
+void* onc_elec_create(char* name);
+double onc_elec_compute(size_t i, size_t j, size_t k, double* origin, double** basis, void* src);
+void onc_elec_destroy(void*);
+#endif
+#endif
diff --git a/inc/tabulated_pot_kernel.h b/inc/tabulated_pot_kernel.h
new file mode 100644
index 0000000000000000000000000000000000000000..c6bdcc2e5aa0da77289f3f2d18eeccb4bbd99f8b
--- /dev/null
+++ b/inc/tabulated_pot_kernel.h
@@ -0,0 +1,14 @@
+#ifdef KERNEL_TYPE
+ComputeType(tabulated_pot, tabulated_pot_compute);
+CreateType( tabulated_pot, tabulated_pot_create);
+DestroyType(tabulated_pot, tabulated_pot_destroy);
+#else
+#ifndef TABULATED_POT_H_
+#define TABULATED_POT_H_
+#include <stddef.h>
+typedef struct tabulated_pot_kernel tabulated_pot_kernel;
+void* tabulated_pot_create(char* name);
+double tabulated_pot_compute(size_t i, size_t j, size_t k, double* origin, double** basis, void* src);
+void tabulated_pot_destroy(void*);
+#endif
+#endif