some reordering and build process