Added initial code and tests.