update run() method