checkpoint: switching to using SourceNode