article controller, model, and view