updated documentation and testing