added compile task with rule