UPDATED working on unit tests.