cache using optimized deque.popleft over list.pop(0)
files and classes renamed to en