change S.init to S.setup