added extend functionality