survey logic, model, and view