characteristic functions might change later