Version with tests.