adding some defintions