added socket requirements