Now using core.async