Updated to reflect David's changes.