documentation, tests added