classes, inheritances, polyphormism