Well Done, but code is not so good