inheritance
magic
interfaces poly