updating copyrights and documentation
adding lots of documentation
adding more coverage
fixing typo