Added tests & documentation