added a envelope() const method