Added tests. Fixed few minor issues found while writing tests.

Added tests. Fixed few minor issues found while writing tests.