essential definitions added