add initial socket support