ver++
improve class ast
add some tests