formatting
add a timeout for the socket