discourage stateful functions