Add basic socket implementation