added free-speech modifications