added timeout setting