abstracted the mojo a bit and added the skeleton for the update goal