Hard class if you want to pass got ta do all the work !