Add timeout function