seems like puzzle part is almost over. remaining task is to implement time limit