Added library.
Added unit tests.