Use base connector and add update support

/to @ritch 
No need to duplicate it. I'll fix.