don't use <?>, does not compile on java 1.6