implementation for items