Beginning the OO version.