split run() method