reuse of templateviewmodel, customize eval