add shape cache