Job model and relevant updates
Improve script running with run() method