Fix license.
Add full impl.