use `extend`