migrate to single-module build