> For the complete documentation index, see [llms.txt](https://contract-wizard.gitbook.io/contract-wizard/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://contract-wizard.gitbook.io/contract-wizard/create/smart-contracts/interface-contracts/ierc721jenumerable.sol.md).

# IERC721JEnumerable.sol

IERC721JEnumerable.sol and IERC721JEnumerableUpgradeable.sol

The IERC721JEnumerable interface contract details 2 functions. This is inspired by [IERC721Enumerable](https://contract-wizard.gitbook.io/contract-wizard/create/smart-contracts/interface-contracts/pages/w3oYNs6KcAnNIlIlA3aj#ierc721enumerable.sol), but extended to have functions for an index of staked tokens and an index for each song.

### Read Functions

The new functions are:

* ***tokenOfPublicByIndex*** - Returns an index of tokens that are set to public
* ***tokenOfSongByIndex*** - Returns an index of tokens with a particular songId

Read more [here.](https://github.com/jasondesante/721J-Token/blob/master/721J%20Contracts/Interfaces/IERC721JEnumerable.sol)
