Cleaned up code & added additional unit tests. Issue with TextWriter on unit tests that needs to be fixed.