split compile and watch task