Merge old master branch into official repo

It contains the changes done in the Implementation AA module