Implementing several new stuff.

Costraints are the base class and every cell have to intersect all possible value from differents costraints