Outline classes and implemented them