Rewrote my CS for you with more detail