Pushing final update; needs to be bug tested.