Update with an implementation that follows the other specs