similarity in the structures of ADAPTER including flow charts, inter-modular relationships, parameter lists, macros, and services obtained from the operating system. To approach this issue, the court fully supported the claim that non-literal elements of software are protected under copyright. Software is considered a literary work for the purposes of copyright law, and non-literal elements of literary works are protected under copyright. As such, non-literal elements of software are also protected. The question at hand was to what extent are the non-literal elements protected. Copyright protects the expression of an idea but not the idea itself. As such, it is important to determine where to draw the line between expression and idea. The court agreed with the opinion in Baker v. Selden which stated that things that "must necessarily be used as incident to" the idea are not subject to copyright protection. This opinion, however, gave no advice on how to separate the idea from the expression. Facing a similar issue, Whelan v. Jaslow attempted to delineate the differences between idea and expression by saying that the function of the work is the idea and everything else not necessary to the function is the expression of the idea. The court agreed with district court's refusal to follow the Whelan logic because the test is "conceptually overbroad." A program can have multiple functions and thus many ideas. As an alternate metric, the court presented a three-step test to determine substantial similarity, abstraction-filtration-comparison. This process is based on other previously established copyright principles of merger, scenes a faire, and the public domain. In this test, the court must first determine the allegedly infringed program's constituent structural parts. Then, the parts are filtered to extract any non-protected elements. Non-protected elements include: elements made for efficiency (i.e. elements with a limited number of ways it can be expressed and thus incidental to the idea), elements dictated by external factors (i.e. standard techniques), and design elements taken from the public domain. Any of these non-protected elements are thrown out and the remaining elements are compared with the allegedly infringing program's elements to determine substantial similarity. Given the rapidly developing nature of technology, the court recommended a modification of the three-step test where appropriate. They also recommended that the allegedly infringed program be put through the three-step test and then compared to the allegedly infringing program, instead of the reverse as the district court originally chose.