comments refactored into separate view