add code and license