add interface GeneratesAnElement