A virtual Rubix cube application that uses OpenGL