refactored Symbol to fix cross-module issues