adding some documentation and modifying license