generified dimension, added convenience funct