Rewrote the processing section