add extend method