Adding more tests. Code cleanup.
14 files changed