added some assert