breakout of ICM functions