adding some documentation and license