again some refactoring in preparation for symbol conversion