let port and timeout be configureable