Updated socket API