application model complete; tests pass