added the documentation, tests left