self.execute takes  at least 3 arguments