I know that this question has been asked before, but only a partial response has been given by mschonaker here. …