added timeout function