undertow: the seaward undercurrent created after waves have broken on the shore
entity: that which is perceived or known or inferred to have its own distinct existence (living or nonliving)
object-oriented programming language: (computer science) a programming language that enables the programmer to associate a set of procedures with each type of data structure