tweak build process and reorganize