implemented compile and clean and things