name is optional