General update, includes DO support and higher level functions.