well, the base spec functions