Ack.. sorry... I was making little changes last night to make sure the ZClass was completely consistent with my explaination, and to make sure I could start 'from scratch'. I created a 'new' ZClass, and a 'new' rack. This confused the 'old' Rack. (I didn't update the ToDoManager.zexp, so if you downloaded the new Product, but the old ToDoManager you got the _setRack error. Anyway... I've now uploaded both the ToDoManager and the ToDoProducts at 0.0.2. I also changed the index_html of the ToDoManager to illustrated the getPersistentItemIds() issue I wrote about earlier.... good luck! -steve here's the new index_html: <dtml-var standard_html_header> <center> <br> <h2><dtml-var title></h2> <p> <dtml-let idList="[]"> <dtml-in "defaultRack.getPersistentItemIDs()" sort> <dtml-call "idList.append(getItem(_['sequence-item']))"> </dtml-in> <dtml-in idList sort=description> <dtml-if sequence-start> <form action="." method="post"> <table cellspacing=3 cellpadding=3 border=1> <tr><td> </td><th>Name</th><th>Description</th><th>Doer</th><th>Done?</th></tr> </dtml-if> <tr> <td><input type=checkbox name="ids:list" value="&dtml-id;"></td> <td><a href="<dtml-var id url_quote>/editInstanceForm"><dtml-var id></a></td> <td><dtml-var description> </td> <td><dtml-var doer> </td> <td><dtml-if done>Done!<dtml-else> </dtml-if></td> <dtml-if sequence-end> <tr><td colspan=5 align=center><input type=submit name="newToDoForm:method" value="Add New ToDo"><input type=submit name="deleteInstances:method" value="Delete selected ToDos"></td></tr> </table> </dtml-if> <dtml-else> Sorry.. no "to do"s! <br> <form action="."> <input type=submit name="newToDoForm:method" value="Add New ToDo"> </form> </dtml-in> </p> </dtml-let> </center> <dtml-var standard_html_footer>