* blocks are now compressed linear instead of in an array
* unification between I and D Mode
* code cleanup
* passing compression strategy as parameter
* reduced warnings
* cleaned includes
* replaced merge sort with sort for portability