add encapsulating socket API