split up large view method