model with tests