shouldn't give side-effects because it's shared
fix test to pass