to avoid the pitfalls of running within the emulation environment and take full advantage of rhapsody's features, software needed to be rewritten to use the new yellow box api. inherited from openstep, yellow box used an object-oriented model completely unlike the procedural model used by the classic apis. the large difference between the two frameworks meant transition of legacy code required significant changes and effort on the part of the developer. the consequent lack of adoption as well as objections by prominent figures in the macintosh software market, including adobe systems and microsoft, became major factors in apple's decision to cancel the rhapsody project in 1998.