added Socket support