reworked both RCM and MBM to use fused types