re-implemented previous updates