added documenation, stubbed out tests