added timeout to port listener