cleaning up for semantic analysis visitor approach