several changes documentation and testing