Remember to replace it with run() for unified entry point.