fixes time limit, doesn't get blocked by communicate