Concrete (presented here in version 2.3.1) is a black-box Contraint Programming system written in Scala 2.11, a modern multi-pradigm (functional/object oriented) programming language targetting the Java Virtual Machine. The objective behind the Concrete solver is to provide an easy to use, small core API focusing on general-purpose constraints. Much effort has been put into extensional constraints (binary, MDD-based and boolean clauses), arithmetic (addition, multiplication, square root, comparison…), reification and a few important global constraints (all-different, weighted-sum, lex-leq…) Concrete also use advanced autonomous search techniques, suitable for a black-box environment (adaptative heuristics, restarts, nogood learning, automatic bound/domain consistency selection). Concrete uses the CSPOM modelling API to provide an easy-to-use interface to model programmers. CSPOM is compatible with the XCSP and FlatZinc languages, and provide a reformulation engine to improve models and adapt them to the solver. Concrete uses reformulations to implement the "regular", "sliding-sum", "element" global constraints and most boolean operations using its built-in constraints. Future work for Concrete/CSPOM includes improved documentation and tutorials, improved core engine exploiting persistent data structures, smarter heuristics and improved learning techniques, distributed computing and additional global constraint support.