some redundant comments deleted