Reworked the core RTL to better match the functional model.