Add most of the functionnalities planned