modularized script