only hideItem when necessary