without double DOM parsing

implementation for bookmark method required
runDOM function