add open3socket method