new view resolver
refactored
refactored