Added unit tests. Code cleanup.
Code cleanup.
Code cleanup.