script part decoupled