added polarity funcs