format
support none-ui thread
add non ui test