made the option opt-in, added some tests
fixed merge conflicts