Something I have missed in all to-do list programs I have checked out is relative priorities and dependencies, i.e. instead of setting high, medium or low priority, you would also be able to set that "this task is more important than that task" or "this task has to be completed before I can start that task."