reimplement a working completer