squashing viewer-related commits into one