Some Coding has been changed