implemented clean and compile