modified to reflect my fork