modify item func ptr interface