more refactoring of the rom and cpu modules along with expanded unit tests