Code cleanup. Added more tests.
5 files changed