modified evaluate & message & product & user controller-model-view