better attribute support