items should always exist