Basic model and unit tests.