add preSetAttribute parameter