re-factoring ++/--: done except array case