redesign of datatypes and internals
implement Add New Task