fixed the code pattern in order to call self.finish with the result