move self.finish to self.complete