adding comment and optimize