framework builded by following the Fabien Potencier steps