add expand functionality