change 'name' to 'size' and add diameter to make implementations easier