allow timeout to be passed into class