added edwards changes, tracked in copy