rewritten timesynced to use catalog gather op