modified viewcontroller