add a delegate to control the cell