Added some testing and documentation