Updated and added a lot of documentation and added a license.