Added visitor interfaces and minor changes