it works, but it is not sophisticated at all(Too many boring repetitions)