deleted comment and duplicated codes