added ability to set or remove properties from elements