compilation script