revise build scripts and code cleanup