implemented time limit