add model and tests.