can buy items, need to sync state with visuals