converted the vm from a function to data; added a stepper