added Complete() method from emergentSushi (should have merged it)