modularizing ci-build