feat(core): improve What's left function
fix(core): make only one metadata required
feat(core): start adding search function
chore(core): update TODO list