Merge forks : eightygrit and NacerMontreal

Merge forks : eightygrit and NacerMontreal and update the unit tests