fully implemented item generation