change for clear variable name.
add constructor to build a new instance based from old one.