Added new kernels, I/O, data types, algorithms.. Reworked the original
code. Pretty much everything is changed