adding some preliminaries