First version of puzzle model

Not ready yet. Must add documentation and unir tests