add expand function