added support for element attribute manipulation