Improve extend method