change content
reduce redundant code
update comments