the whole script