First cut at implementing the new interfaces.