First modifications
Wrapped the code into an object
There's still things to do before it can be used