code clean and comments add