module extend