added update tests and functionality. some other maintenence happened too.