added completion fcn