Basic update support, and some cleanup