extend method