use a item controller instead of data