basic socket and file wrapper