add `with` with constructor
add ex38 and class work