Added documentation

And changed a bit the arguments interface