add connect method
add exception reference
return to working version