using subscription method more consistent with github code