Initial implementation.
Added license.