refactored generate items to be shorter visually