add test functionality, update license, and add info and warnings.