See the first part here. See the first part here.