refactored setup view controller