refactor timeout evaluation to use multiproccessing in favour of threading