build with modules