added some code updated