shaping viewmodels