refactored symbol reduction functions