#include <assert.h> added