explaining the use of the basic classes