Templating and System changed

* Template class add
* KernelInterface become Core