adding tests and doc blocks