prevent side-effects in constructor

copy args instead of referencing it