support the names(x) = {"foo", "bar"} notation