Added unit tests. Cleaned up code.
9 files changed