lots of work over the weekend, much improved todo functionality