REF: Implementation based on core.async