reorganize the directory structure
clean
clean
split hot into a lib and a driver
unittest integrated
clean