switching from custom core.async to public core.async