add expansion mechanism