just nitpicking… val is superfluous