more code (and license update)