key defaults to $name