view and model done