No one breaks it down better than @jsmooth995