elements can optionally have a name