Especially post-Java 2, Java can also refer to a rather large set of classes and sample implementations provided by Sun Microsystems and various other members of the Java Community Process (JCP). These include frameworks for various distributed application tricks, 2D and 3D graphics, internationalization, and whole slew of others. In theory, this adds to the appeal of the programming language because it reduces the amount of work programmers have to do to implement any given project.