only if oncomplete exists