refactored and added some error checking.

added formulize user update