fix extend to work how john wants it