added more documentation and license