add clang config
minor refine
move atomic.h to backward folder
refine code & reorg