must now call init, onCompleted parameter optional