updated `change` to work w/ non-number values + tests
cleanup (per notes on pr #333)