Switch to core.async (much faster!)