code changed and updaed