supports spaces in attribute values