merge
use Map for headers.
use common lib
move common lib