the CustomRenderer can be more specialized now