Kernels

add kernel management support
If you put parameters at the end of signature with default None values, you can avoid writing this ugly None, None in the code and keep create working as before