Cleaning code
Add specific Exception
Add the magic test
More cleaning