improve utility
add struct
improve core
improve struct
improve utility
improve dsl