Adds socket support and loads of documentation.