add ndims argument to interfaces