visitor done, ternary done. NPE :(