Abstracted compression
Started to abstract NCD