diff --git a/data/both.lisp b/data/both.lisp
index 31c23f450a53af34d39d3dc06758cc26433147ef..2771d97a33dfbcf9e08daa87de0ddbe0df128997 100644
--- a/data/both.lisp
+++ b/data/both.lisp
@@ -1,8 +1,8 @@
 ;; Functions for both vectors and matrices.
 ;; Liam Healy 2008-04-26 20:48:44EDT both.lisp
-;; Time-stamp: <2010-11-25 09:31:17EST both.lisp>
+;; Time-stamp: <2011-01-10 18:17:02EST both.lisp>
 ;;
-;; Copyright 2008, 2009, 2010 Liam M. Healy
+;; Copyright 2008, 2009, 2010, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
 ;;
 ;; This program is free software: you can redistribute it and/or modify
@@ -39,9 +39,9 @@
   ("gsl_" :category :type "_alloc_from_block")
   ((blockptr :pointer)
    (0 sizet)				; offset
-   ((first (dimensions object)) sizet)	; number of rows
-   ((second (dimensions object)) sizet)	; number of columns
-   ((second (dimensions object)) sizet))	; "tda" = number of columns for now
+   ((first (grid:dimensions object)) sizet)	; number of rows
+   ((second (grid:dimensions object)) sizet)	; number of columns
+   ((second (grid:dimensions object)) sizet))	; "tda" = number of columns for now
   :definition :methods
   :c-return :pointer
   :export nil)
diff --git a/data/combination.lisp b/data/combination.lisp
index 737cef19129ba2ea66980334288ac7c7aad20f9f..06d2538c66e16a883a34cfb7021484b5afeefb49 100644
--- a/data/combination.lisp
+++ b/data/combination.lisp
@@ -1,6 +1,6 @@
 ;; Combinations
 ;; Liam Healy, Sun Mar 26 2006 - 11:51
-;; Time-stamp: <2011-01-10 17:59:21EST combination.lisp>
+;; Time-stamp: <2011-01-10 18:16:28EST combination.lisp>
 ;;
 ;; Copyright 2006, 2007, 2008, 2009, 2010, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
@@ -56,7 +56,7 @@
 	     (make-instance
 	      'combination
 	      :element-type '(unsigned-byte #+int64 64 #+int32 32)
-	      :range (combination-range n) :dimensions (dimensions k))
+	      :range (combination-range n) :dimensions (grid:dimensions k))
 	     (make-instance
 	      'combination
 	      :element-type '(unsigned-byte #+int64 64 #+int32 32)
diff --git a/data/matrix.lisp b/data/matrix.lisp
index 4ebdbcbf1c945a7fad7b79e60e2cc326ad979ffd..eac02936bf7a365a7da5075af26f333e28c72646 100644
--- a/data/matrix.lisp
+++ b/data/matrix.lisp
@@ -1,8 +1,8 @@
 ;; Matrices
 ;; Liam Healy 2008-04-15 21:57:52EDT matrix.lisp
-;; Time-stamp: <2010-06-29 22:10:48EDT matrix.lisp>
+;; Time-stamp: <2011-01-10 18:17:17EST matrix.lisp>
 ;;
-;; Copyright 2008, 2009 Liam M. Healy
+;; Copyright 2008, 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
 ;;
 ;; This program is free software: you can redistribute it and/or modify
@@ -145,7 +145,7 @@
     ((source matrix)
      &optional
      (destination
-      (grid:make-foreign-array element-type :dimensions (reverse (dimensions source)))))
+      (grid:make-foreign-array element-type :dimensions (reverse (grid:dimensions source)))))
   ("gsl_matrix" :type "_transpose_memcpy")
   (((mpointer destination) :pointer) ((mpointer source) :pointer))
   :definition :generic
diff --git a/data/permutation.lisp b/data/permutation.lisp
index 7713e9d36fc16c392ecda1018d4bb48cb4d6a39f..33d7f5922d81c772125543f3b2b0866356708599 100644
--- a/data/permutation.lisp
+++ b/data/permutation.lisp
@@ -1,6 +1,6 @@
 ;; Permutations
 ;; Liam Healy, Sun Mar 26 2006 - 11:51
-;; Time-stamp: <2011-01-10 17:59:22EST permutation.lisp>
+;; Time-stamp: <2011-01-10 18:16:26EST permutation.lisp>
 ;;
 ;; Copyright 2006, 2007, 2008, 2009, 2010, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
@@ -53,7 +53,7 @@
 	 (make-instance
 	  'permutation
 	  :element-type '(unsigned-byte #+int64 64 #+int32 32)
-	  :dimensions (if (typep n 'permutation) (dimensions n) (list n)))))
+	  :dimensions (if (typep n 'permutation) (grid:dimensions n) (list n)))))
     (when initialize
       (if (typep n 'permutation)
 	  (error "not available yet")	; (copy perm n)
diff --git a/eigensystems/generalized.lisp b/eigensystems/generalized.lisp
index c0a0cbbfcbbbd49123463e78df43d5a3feda8f06..c6778ef3ad204bf1fa5a86ced689c37f82810c60 100644
--- a/eigensystems/generalized.lisp
+++ b/eigensystems/generalized.lisp
@@ -1,8 +1,8 @@
 ;; Real generalized eigensystems
 ;; Liam Healy 2009-02-16 12:55:04EST real-generalized.lisp
-;; Time-stamp: <2010-06-29 22:15:24EDT generalized.lisp>
+;; Time-stamp: <2011-01-10 18:17:27EST generalized.lisp>
 ;;
-;; Copyright 2009 Liam M. Healy
+;; Copyright 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
 ;;
 ;; This program is free software: you can redistribute it and/or modify
@@ -82,7 +82,7 @@
     ((A matrix) (B matrix)
      &optional
      (eigenvalues (grid:make-foreign-array element-type :dimensions (dim0 A)))
-     (eigenvectors (grid:make-foreign-array element-type :dimensions (dimensions A)))
+     (eigenvectors (grid:make-foreign-array element-type :dimensions (grid:dimensions A)))
      (ws (eltcase complex (make-eigen-hermv (dim0 A))
 		  t (make-eigen-symmv (dim0 A)))))
   (double-float "gsl_eigen_gensymmv"
diff --git a/eigensystems/nonsymmetric-generalized.lisp b/eigensystems/nonsymmetric-generalized.lisp
index 9ec85cfed0dc049ea7e308e52066b5b2e934700c..3ee35f8242323c13e85a23c1d84838f354d02ae9 100644
--- a/eigensystems/nonsymmetric-generalized.lisp
+++ b/eigensystems/nonsymmetric-generalized.lisp
@@ -1,8 +1,8 @@
 ;; Generalized eigensystems for nonsymmetric real matrices
 ;; Liam Healy 2009-02-16 14:27:20EST nonsymmetric-generalized.lisp
-;; Time-stamp: <2010-06-29 22:15:24EDT nonsymmetric-generalized.lisp>
+;; Time-stamp: <2011-01-10 18:19:14EST nonsymmetric-generalized.lisp>
 ;;
-;; Copyright 2009 Liam M. Healy
+;; Copyright 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
 ;;
 ;; This program is free software: you can redistribute it and/or modify
@@ -63,11 +63,11 @@
        (balance nil)			; unused by GSL
        (Q
 	(if (eql shur-vectors t)
-	    (grid:make-foreign-array 'double-float :dimensions (dimensions A))
+	    (grid:make-foreign-array 'double-float :dimensions (grid:dimensions A))
 	    shur-vectors))
        (Z
 	(if (eql shur-vectors t)
-	    (grid:make-foreign-array 'double-float :dimensions (dimensions A))
+	    (grid:make-foreign-array 'double-float :dimensions (grid:dimensions A))
 	    shur-vectors)))
   ("gsl_eigen_gen" "gsl_eigen_gen_QZ")
   ((((mpointer A) :pointer) ((mpointer B) :pointer)
@@ -118,18 +118,18 @@
        (beta
 	(grid:make-foreign-array 'double-float :dimensions (dim0 A)))
        (eigenvectors
-	(grid:make-foreign-array 'double-float :dimensions (dimensions A)))
+	(grid:make-foreign-array 'double-float :dimensions (grid:dimensions A)))
        (ws (make-eigen-genv (dim0 A)))
        compute-shur-form-s compute-shur-form-t shur-vectors
        &aux
        (balance nil)			; unused by GSL
        (Q
 	(if (eql shur-vectors t)
-	    (grid:make-foreign-array 'double-float :dimensions (dimensions A))
+	    (grid:make-foreign-array 'double-float :dimensions (grid:dimensions A))
 	    shur-vectors))
        (Z
 	(if (eql shur-vectors t)
-	    (grid:make-foreign-array 'double-float :dimensions (dimensions A))
+	    (grid:make-foreign-array 'double-float :dimensions (grid:dimensions A))
 	    shur-vectors)))
   ("gsl_eigen_genv" "gsl_eigen_genv_QZ")
   ((((mpointer A) :pointer) ((mpointer B) :pointer)
diff --git a/eigensystems/nonsymmetric.lisp b/eigensystems/nonsymmetric.lisp
index fc68668ae1e4c4075a19bf4759d4d089b7e39cca..9514709a1abc290dda6565d2989761f3b080095e 100644
--- a/eigensystems/nonsymmetric.lisp
+++ b/eigensystems/nonsymmetric.lisp
@@ -1,8 +1,8 @@
 ;; Eigensystems for nonsymmetric real matrices
 ;; Liam Healy 2009-02-16 12:51:18EST nonsymmetric.lisp
-;; Time-stamp: <2010-06-29 22:15:24EDT nonsymmetric.lisp>
+;; Time-stamp: <2011-01-10 18:19:13EST nonsymmetric.lisp>
 ;;
-;; Copyright 2009 Liam M. Healy
+;; Copyright 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
 ;;
 ;; This program is free software: you can redistribute it and/or modify
@@ -58,7 +58,7 @@
      &aux
      (sv
       (if (eql shur-vectors t)
-	  (grid:make-foreign-array 'double-float :dimensions (dimensions A))
+	  (grid:make-foreign-array 'double-float :dimensions (grid:dimensions A))
 	  shur-vectors)))
   ("gsl_eigen_nonsymm" "gsl_eigen_nonsymm_Z")
   ((((mpointer A) :pointer)
@@ -119,13 +119,13 @@
      (eigenvalues
       (grid:make-foreign-array '(complex double-float) :dimensions (dim0 A)))
      (eigenvectors
-      (grid:make-foreign-array  '(complex double-float) :dimensions (dimensions A)))
+      (grid:make-foreign-array  '(complex double-float) :dimensions (grid:dimensions A)))
      (ws (make-eigen-nonsymmv (dim0 A)))
      shur-vectors
      &aux
      (sv
       (if (eql shur-vectors t)
-	  (grid:make-foreign-array 'double-float :dimensions (dimensions A))
+	  (grid:make-foreign-array 'double-float :dimensions (grid:dimensions A))
 	  shur-vectors)))
   ("gsl_eigen_nonsymmv" "gsl_eigen_nonsymmv_Z")
   ((((mpointer A) :pointer)
diff --git a/eigensystems/symmetric-hermitian.lisp b/eigensystems/symmetric-hermitian.lisp
index 38404d2c2272a57ec5d7778469e9033d36058c9a..abed4dd5eae13394783de824c027a45e58900307 100644
--- a/eigensystems/symmetric-hermitian.lisp
+++ b/eigensystems/symmetric-hermitian.lisp
@@ -1,8 +1,8 @@
 ;; Eigenvectors and eigenvalues
 ;; Liam Healy, Sun May 21 2006 - 19:52
-;; Time-stamp: <2010-07-07 14:25:01EDT symmetric-hermitian.lisp>
+;; Time-stamp: <2011-01-10 18:19:13EST symmetric-hermitian.lisp>
 ;;
-;; Copyright 2006, 2007, 2008, 2009 Liam M. Healy
+;; Copyright 2006, 2007, 2008, 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
 ;;
 ;; This program is free software: you can redistribute it and/or modify
@@ -95,7 +95,7 @@
     ((A matrix)
      &optional
      (eigenvalues (grid:make-foreign-array element-type :dimensions (dim0 A)))
-     (eigenvectors (grid:make-foreign-array element-type :dimensions (dimensions A)))
+     (eigenvectors (grid:make-foreign-array element-type :dimensions (grid:dimensions A)))
      (ws (eltcase complex (make-eigen-hermv (dim0 A))
 		  t (make-eigen-symmv (dim0 A)))))
   (double-float "gsl_eigen_symmv"
diff --git a/fast-fourier-transforms/discrete.lisp b/fast-fourier-transforms/discrete.lisp
index 929c53537756bede7e425365a71948080ba759b5..ac7b7ae4e8ea5e07acdd6b5c6ffcea209bbd323e 100644
--- a/fast-fourier-transforms/discrete.lisp
+++ b/fast-fourier-transforms/discrete.lisp
@@ -1,6 +1,6 @@
 ;; Discrete Fourier Transforms
 ;; Liam Healy 2009-11-07 14:24:07EST
-;; Time-stamp: <2011-01-10 17:59:23EST discrete.lisp>
+;; Time-stamp: <2011-01-10 18:16:24EST discrete.lisp>
 ;;
 ;; Copyright 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
@@ -29,7 +29,7 @@
 (defmfun forward-discrete-fourier-transform
     ((vector vector)
      &key (stride 1)
-     (result (grid:make-foreign-array element-type :dimensions (dimensions vector))))
+     (result (grid:make-foreign-array element-type :dimensions (grid:dimensions vector))))
   ("gsl_dft" :type "_forward")
   (((grid:foreign-pointer vector) :pointer) (stride sizet) ((floor (size vector) stride) sizet)
    ((grid:foreign-pointer result) :pointer))
@@ -45,7 +45,7 @@
 (defmfun backward-discrete-fourier-transform
     ((vector vector)
      &key (stride 1)
-     (result (grid:make-foreign-array element-type :dimensions (dimensions vector))))
+     (result (grid:make-foreign-array element-type :dimensions (grid:dimensions vector))))
   ("gsl_dft" :type "_backward")
   (((grid:foreign-pointer vector) :pointer) (stride sizet) ((floor (size vector) stride) sizet)
    ((grid:foreign-pointer result) :pointer))
@@ -61,7 +61,7 @@
 (defmfun inverse-discrete-fourier-transform
     ((vector vector)
      &key (stride 1)
-     (result (grid:make-foreign-array element-type :dimensions (dimensions vector))))
+     (result (grid:make-foreign-array element-type :dimensions (grid:dimensions vector))))
   ("gsl_dft" :type "_inverse")
   (((grid:foreign-pointer vector) :pointer) (stride sizet) ((floor (size vector) stride) sizet)
    ((grid:foreign-pointer result) :pointer))
@@ -77,7 +77,7 @@
 (defmfun discrete-fourier-transform
     ((vector vector)
      &key (stride 1)
-     (result (grid:make-foreign-array element-type :dimensions (dimensions vector))))
+     (result (grid:make-foreign-array element-type :dimensions (grid:dimensions vector))))
   ("gsl_dft" :type "_transform")
   (((grid:foreign-pointer vector) :pointer) (stride sizet) ((floor (size vector) stride) sizet)
    ((grid:foreign-pointer result) :pointer))
diff --git a/hankel.lisp b/hankel.lisp
index 42259c1ecb7fe2652129ccd05a366b627f31d99a..f8d4df0f6409cdf20691e6cf4f2c5ae1cbfcc47a 100644
--- a/hankel.lisp
+++ b/hankel.lisp
@@ -1,6 +1,6 @@
 ;; Discrete Hankel Transforms.
 ;; Liam Healy, Sat Dec  8 2007 - 16:50
-;; Time-stamp: <2011-01-10 17:59:25EST hankel.lisp>
+;; Time-stamp: <2011-01-10 18:16:23EST hankel.lisp>
 ;;
 ;; Copyright 2007, 2008, 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
@@ -39,7 +39,7 @@
 (defmfun apply-hankel
     (hankel array-in
      &optional
-     (array-out (grid:make-foreign-array 'double-float :dimensions (dimensions array-in))))
+     (array-out (grid:make-foreign-array 'double-float :dimensions (grid:dimensions array-in))))
   "gsl_dht_apply"
   (((mpointer hankel) :pointer) ((grid:foreign-pointer array-in) :pointer)
    ((grid:foreign-pointer array-out) :pointer))
diff --git a/init/callback-compile-defs.lisp b/init/callback-compile-defs.lisp
index 4e8b5b18669339ee25c4c180b87067287e8a456e..54ef37bc40fb1735d5acadeb8a1963bdf787b45a 100644
--- a/init/callback-compile-defs.lisp
+++ b/init/callback-compile-defs.lisp
@@ -1,8 +1,8 @@
 ;; Definitions for macro expansion
 ;; Liam Healy 2009-03-15 14:50:28EDT callback-compile-defs.lisp
-;; Time-stamp: <2009-12-27 09:50:34EST callback-compile-defs.lisp>
+;; Time-stamp: <2011-01-10 18:19:12EST callback-compile-defs.lisp>
 ;;
-;; Copyright 2009 Liam M. Healy
+;; Copyright 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
 ;;
 ;; This program is free software: you can redistribute it and/or modify
@@ -40,7 +40,7 @@
     `(make-cbstruct
       ',(parse-callback-static cbs 'callback-fnstruct)
       (when (dimension-names object)
-	(mappend 'list (dimension-names object) (dimensions object)))
+	(mappend 'list (dimension-names object) (grid:dimensions object)))
       ,@(mappend
 	 'list
 	 (mapcar
diff --git a/init/callback-included.lisp b/init/callback-included.lisp
index 830f1fee7f8bb325fe12148907814282f3fd0e3b..75a80e9e3c6d628b4eb3f5c0fab417f2e3685ffc 100644
--- a/init/callback-included.lisp
+++ b/init/callback-included.lisp
@@ -1,8 +1,8 @@
 ;; The mobject that defines callbacks
 ;; Liam Healy 2009-03-14 11:20:03EDT callback-included.lisp
-;; Time-stamp: <2009-12-27 09:50:34EST callback-included.lisp>
+;; Time-stamp: <2011-01-10 18:19:12EST callback-included.lisp>
 ;;
-;; Copyright 2009 Liam M. Healy
+;; Copyright 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
 ;;
 ;; This program is free software: you can redistribute it and/or modify
@@ -43,7 +43,7 @@
     :initarg :scalarsp :reader scalarsp :initform t
     :documentation "Whether the function expect to be passed and return
     scalars or arrays.")
-   (dimensions :initarg :dimensions :reader dimensions))
+   (grid:dimensions :initarg :dimensions :reader grid:dimensions))
   (:documentation
    "A mobject that includes a callback function or functions to GSL."))
 
@@ -65,7 +65,7 @@
   (declare (ignore ignore))
   `(defclass ,class-name ,superclasses
      ((dimension-names :initform nil :allocation :class)
-      (dimensions :initform '(1) :allocation :class)
+      (grid:dimensions :initform '(1) :allocation :class)
       (scalarsp :initform T :allocation :class))
      (:documentation ,documentation)))
 
@@ -76,7 +76,7 @@
       (princ (first (functions object)) stream)
       (princ ", " stream))
     (princ "dimensions " stream)
-    (princ (dimensions object) stream)))
+    (princ (grid:dimensions object) stream)))
 
 ;;;;****************************************************************************
 ;;;; For making mobjects
diff --git a/init/funcallable.lisp b/init/funcallable.lisp
index 3ef4e7b0e401a1a6b4eb2604ae4cb0aa68fd1737..92b99d878d727ed0be3486bf1ea6230c90d4b947 100644
--- a/init/funcallable.lisp
+++ b/init/funcallable.lisp
@@ -1,8 +1,8 @@
 ;; Generate a lambda that calls the user function; will be called by callback.
 ;; Liam Healy 
-;; Time-stamp: <2010-11-25 09:09:40EST funcallable.lisp>
+;; Time-stamp: <2011-01-10 18:19:11EST funcallable.lisp>
 ;;
-;; Copyright 2009, 2010 Liam M. Healy
+;; Copyright 2009, 2010, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
 ;;
 ;; This program is free software: you can redistribute it and/or modify
@@ -214,7 +214,7 @@
     (lambda (fn fnspec)
       (compile
        nil
-       (make-funcallable-form fn fnspec (scalarsp object) (dimensions object))))
+       (make-funcallable-form fn fnspec (scalarsp object) (grid:dimensions object))))
     (functions object)
     (parse-callback-static (cbinfo object) 'functions))))
 
diff --git a/init/init.lisp b/init/init.lisp
index ad13c9cc13b58d18cf36bfd505a863dcc86bd784..058eb3fda58fc33884195a76531f9015b0bfd7ee 100644
--- a/init/init.lisp
+++ b/init/init.lisp
@@ -1,6 +1,6 @@
 ;; Load GSL
 ;; Liam Healy Sat Mar  4 2006 - 18:53
-;; Time-stamp: <2011-01-10 17:47:50EST init.lisp>
+;; Time-stamp: <2011-01-10 18:28:14EST init.lisp>
 ;;
 ;; Copyright 2006, 2007, 2008, 2009, 2010, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
@@ -22,14 +22,9 @@
   (:nicknames :gsl)
   (:use :common-lisp :cffi)
   (:import-from
-   :grid
-   #:cl-array #:dimensions #:element-type
-   #:foreign-array #:matrix #:dim0 #:dim1 #:^
-   #:copy)
-  ;;(:shadowing-import-from :grid #:foreign-pointer)
-  (:export
-   #:cl-array #:dimensions #:element-type #:dim0 #:dim1
-   #:copy))
+   :grid #:dimensions
+    #:element-type #:foreign-array #:matrix #:dim0 #:dim1 #:^ #:copy)
+  (:export #:element-type #:dim0 #:dim1  #:copy))
 
 ;;; Where there is a symbol conflict, take the other one.
 (shadow '#:row :antik-user) ; conflict with grid:row; they are equivalent
diff --git a/init/mobject.lisp b/init/mobject.lisp
index 0b39a098a42c26b4bff019d29d107a508893be21..b7a63e5339b6c23f9e74de0e9fbe914148c13703 100644
--- a/init/mobject.lisp
+++ b/init/mobject.lisp
@@ -1,8 +1,8 @@
 ;; Definition of GSL objects and ways to use them.
 ;; Liam Healy, Sun Dec  3 2006 - 10:21
-;; Time-stamp: <2010-11-13 18:22:18EST mobject.lisp>
+;; Time-stamp: <2011-01-10 18:19:11EST mobject.lisp>
 ;;
-;; Copyright 2006, 2007, 2008, 2009 Liam M. Healy
+;; Copyright 2006, 2007, 2008, 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
 ;;
 ;; This program is free software: you can redistribute it and/or modify
@@ -102,7 +102,7 @@
     (if (have-at-least-gsl-version gsl-version)
 	`(progn
 	   ,(if cbinfo
-		`(,(if (member 'dimensions cl-alloc-args)
+		`(,(if (member 'grid:dimensions cl-alloc-args)
 		       'def-ci-subclass 'def-ci-subclass-1d)
 		   ,class
 		   ,superclasses
diff --git a/linear-algebra/blas1.lisp b/linear-algebra/blas1.lisp
index ed8b70fee764ffc9830448174bdc9a1234c5dd3d..26a69621101090cfb75c8f64688fc6c62e5b764d 100644
--- a/linear-algebra/blas1.lisp
+++ b/linear-algebra/blas1.lisp
@@ -1,6 +1,6 @@
 ;; BLAS level 1, Vector operations
 ;; Liam Healy, Wed Apr 26 2006 - 15:23
-;; Time-stamp: <2011-01-10 17:59:27EST blas1.lisp>
+;; Time-stamp: <2011-01-10 18:16:22EST blas1.lisp>
 ;;
 ;; Copyright 2006, 2007, 2008, 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
@@ -112,7 +112,7 @@
 (defmfun axpy
     (alpha (x vector)
 	   &optional
-	   (y (grid:make-foreign-array element-type :dimensions (dimensions x))))
+	   (y (grid:make-foreign-array element-type :dimensions (grid:dimensions x))))
   ;; This gets an error for complex types because you can't pass a
   ;; struct in CFFI yet.
   ("gsl_blas_" :type "axpy")
diff --git a/linear-algebra/blas2.lisp b/linear-algebra/blas2.lisp
index b2fbe8a3842bad8ebc007108fea9eb874e0bfadc..b2281333e5961d817f4c5fd95d95760799c9c90b 100644
--- a/linear-algebra/blas2.lisp
+++ b/linear-algebra/blas2.lisp
@@ -1,8 +1,8 @@
 ;; BLAS level 2, Matrix-vector operations
 ;; Liam Healy, Wed Apr 26 2006 - 21:08
-;; Time-stamp: <2010-07-07 14:25:00EDT blas2.lisp>
+;; Time-stamp: <2011-01-10 18:19:10EST blas2.lisp>
 ;;
-;; Copyright 2006, 2007, 2008, 2009 Liam M. Healy
+;; Copyright 2006, 2007, 2008, 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
 ;;
 ;; This program is free software: you can redistribute it and/or modify
@@ -42,9 +42,9 @@
 
 (defun matrix-product-dimensions (a b)
   (if (typep b 'matrix)
-      (list (first (dimensions a))
-	    (second (dimensions b)))
-      (first (dimensions a))))
+      (list (first (grid:dimensions a))
+	    (second (grid:dimensions b)))
+      (first (grid:dimensions a))))
 
 (defmfun matrix-product
     ((A matrix) (x vector)
diff --git a/linear-algebra/cholesky.lisp b/linear-algebra/cholesky.lisp
index f75ba50e23e5a3174f87cd4261596aa1ab9f54d9..d41918ea772d09f35362c8a249b55b416d117bae 100644
--- a/linear-algebra/cholesky.lisp
+++ b/linear-algebra/cholesky.lisp
@@ -1,8 +1,8 @@
 ;; Cholesky Decomposition
 ;; Liam Healy, Wed May  3 2006 - 16:38
-;; Time-stamp: <2010-06-30 19:57:28EDT cholesky.lisp>
+;; Time-stamp: <2011-01-10 18:19:09EST cholesky.lisp>
 ;;
-;; Copyright 2006, 2007, 2008, 2009 Liam M. Healy
+;; Copyright 2006, 2007, 2008, 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
 ;;
 ;; This program is free software: you can redistribute it and/or modify
@@ -53,7 +53,7 @@
 (defmfun cholesky-solve
     ((A matrix) (b vector) &optional x-spec
      &aux
-     (x (grid:make-foreign-array-or-default x-spec (dimensions b) t)))
+     (x (grid:make-foreign-array-or-default x-spec (grid:dimensions b) t)))
   (("gsl_linalg" :complex "_cholesky_svx")
    ("gsl_linalg" :complex "_cholesky_solve"))
   ((((mpointer A) :pointer) ((mpointer b) :pointer))
diff --git a/linear-algebra/householder.lisp b/linear-algebra/householder.lisp
index 7545f90dc8299a2d2c91be49bf1563adeadbc8be..10c1e03e829e930a292d75f20969e5c2d1998a19 100644
--- a/linear-algebra/householder.lisp
+++ b/linear-algebra/householder.lisp
@@ -1,8 +1,8 @@
 ;; Householder Transformations
 ;; Liam Healy, Wed May 10 2006 - 10:03
-;; Time-stamp: <2010-06-29 22:51:21EDT householder.lisp>
+;; Time-stamp: <2011-01-10 18:19:08EST householder.lisp>
 ;;
-;; Copyright 2006, 2007, 2008, 2009 Liam M. Healy
+;; Copyright 2006, 2007, 2008, 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
 ;;
 ;; This program is free software: you can redistribute it and/or modify
@@ -87,7 +87,7 @@
 (defmfun householder-solve
     (A b &optional x-spec
        &aux
-       (x (grid:make-foreign-array-or-default x-spec (dimensions b) t)))
+       (x (grid:make-foreign-array-or-default x-spec (grid:dimensions b) t)))
   ("gsl_linalg_HH_svx" "gsl_linalg_HH_solve")
   ((((mpointer A) :pointer) ((mpointer b) :pointer))
    (((mpointer A) :pointer) ((mpointer b) :pointer)
diff --git a/linear-algebra/lu.lisp b/linear-algebra/lu.lisp
index efba04abb63e8e5df10a9c6325595661884a967d..58392752621460744509a9eca8d71068f03d6378 100644
--- a/linear-algebra/lu.lisp
+++ b/linear-algebra/lu.lisp
@@ -1,6 +1,6 @@
 ;; LU decomposition
 ;; Liam Healy, Thu Apr 27 2006 - 12:42
-;; Time-stamp: <2011-01-01 11:47:45EST lu.lisp>
+;; Time-stamp: <2011-01-10 18:16:19EST lu.lisp>
 ;;
 ;; Copyright 2006, 2007, 2008, 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
@@ -56,7 +56,7 @@
     ((A matrix) (b vector) permutation &optional x-spec
      &aux
      (x (if (eq x-spec t)
-	    (grid:make-foreign-array element-type :dimensions (dimensions b))
+	    (grid:make-foreign-array element-type :dimensions (grid:dimensions b))
 	    x-spec)))
   (("gsl_linalg" :complex "_LU_svx")
    ("gsl_linalg" :complex "_LU_solve"))
diff --git a/linear-algebra/qr.lisp b/linear-algebra/qr.lisp
index cf7e52ebea86eb662c56583f0a71ea1c88dc259d..682a9036d7758c11270a71ff73abd95d37fd23e7 100644
--- a/linear-algebra/qr.lisp
+++ b/linear-algebra/qr.lisp
@@ -1,8 +1,8 @@
 ;; QR decomposition
 ;; Liam Healy 2008-02-17 11:05:20EST qr.lisp
-;; Time-stamp: <2010-06-30 19:57:28EDT qr.lisp>
+;; Time-stamp: <2011-01-10 18:19:08EST qr.lisp>
 ;;
-;; Copyright 2008, 2009 Liam M. Healy
+;; Copyright 2008, 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
 ;;
 ;; This program is free software: you can redistribute it and/or modify
@@ -62,7 +62,7 @@
 (defmfun QR-solve
     (QR tau b &optional x-spec
 	&aux
-	(x (grid:make-foreign-array-or-default x-spec (dimensions b) t)))
+	(x (grid:make-foreign-array-or-default x-spec (grid:dimensions b) t)))
   ("gsl_linalg_QR_svx" "gsl_linalg_QR_solve")
   ((((mpointer QR) :pointer) ((mpointer tau) :pointer)
     ((mpointer b) :pointer))
@@ -129,7 +129,7 @@
 (defmfun QR-Rsolve
     (QR b &optional x-spec
        &aux
-       (x (grid:make-foreign-array-or-default x-spec (dimensions b) t)))
+       (x (grid:make-foreign-array-or-default x-spec (grid:dimensions b) t)))
   ("gsl_linalg_QR_Rsvx" "gsl_linalg_QR_Rsolve")
   ((((mpointer QR) :pointer) ((mpointer b) :pointer))
    (((mpointer QR) :pointer) ((mpointer b) :pointer) ((mpointer x) :pointer)))
@@ -149,7 +149,7 @@
     (QR tau
      &optional
      (Q (grid:make-foreign-array 'double-float :dimensions (list (dim0 QR) (dim0 QR))))
-     (R (grid:make-foreign-array 'double-float :dimensions (dimensions QR))))
+     (R (grid:make-foreign-array 'double-float :dimensions (grid:dimensions QR))))
   "gsl_linalg_QR_unpack"
   (((mpointer QR) :pointer) ((mpointer tau) :pointer)
    ((mpointer Q) :pointer) ((mpointer R) :pointer))
@@ -189,7 +189,7 @@
 (defmfun R-solve
     (R b &optional x-spec
        &aux
-       (x (grid:make-foreign-array-or-default x-spec (dimensions b) t)))
+       (x (grid:make-foreign-array-or-default x-spec (grid:dimensions b) t)))
   ("gsl_linalg_R_svx" "gsl_linalg_R_solve")
   ((((mpointer R) :pointer) ((mpointer b) :pointer))
    (((mpointer R) :pointer) ((mpointer b) :pointer) ((mpointer x) :pointer)))
diff --git a/linear-algebra/qrpt.lisp b/linear-algebra/qrpt.lisp
index 6e093c4215513af0d3687eab167f84596ff7d33c..1da031e93d9a3b8ccf06846c71e0ded500e58707 100644
--- a/linear-algebra/qrpt.lisp
+++ b/linear-algebra/qrpt.lisp
@@ -1,8 +1,8 @@
 ;; QR with column pivoting
 ;; Liam Healy, Fri Apr 28 2006 - 16:53
-;; Time-stamp: <2010-06-29 22:51:20EDT qrpt.lisp>
+;; Time-stamp: <2011-01-10 18:19:08EST qrpt.lisp>
 ;;
-;; Copyright 2006, 2007, 2008, 2009 Liam M. Healy
+;; Copyright 2006, 2007, 2008, 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
 ;;
 ;; This program is free software: you can redistribute it and/or modify
@@ -60,7 +60,7 @@
     (A
      &optional
      (q (grid:make-foreign-array 'double-float :dimensions (list (dim0 A) (dim0 A))))
-     (r (grid:make-foreign-array 'double-float :dimensions (dimensions A)))
+     (r (grid:make-foreign-array 'double-float :dimensions (grid:dimensions A)))
      (tau (grid:make-foreign-array 'double-float :dimensions (min (dim0 A) (dim1 A))))
      (permutation (make-permutation (dim1 A)))
      (norm (grid:make-foreign-array 'double-float :dimensions (dim1 A))))
@@ -80,7 +80,7 @@
 (defmfun QRPT-solve
     (QR tau permutation b &optional x-spec
        &aux
-       (x (grid:make-foreign-array-or-default x-spec (dimensions b) t)))
+       (x (grid:make-foreign-array-or-default x-spec (grid:dimensions b) t)))
   ("gsl_linalg_QRPT_svx" "gsl_linalg_QRPT_solve")
   ((((mpointer QR) :pointer) ((mpointer tau) :pointer)
     ((mpointer permutation) :pointer) ((mpointer b) :pointer))
@@ -131,7 +131,7 @@
 (defmfun QRPT-Rsolve
     (QR permutation b &optional x-spec
        &aux
-       (x (grid:make-foreign-array-or-default x-spec (dimensions b) t)))
+       (x (grid:make-foreign-array-or-default x-spec (grid:dimensions b) t)))
   ("gsl_linalg_QRPT_Rsvx" "gsl_linalg_QRPT_Rsolve")
   ((((mpointer QR) :pointer) ((mpointer permutation) :pointer)
     ((mpointer b) :pointer))
@@ -180,7 +180,7 @@
 	(QR-unpack QRPT tau)
       (let* ((qr (matrix-product Q R))
 	     (ans (grid:make-foreign-array
-		   'double-float :dimensions (dimensions qr)
+		   'double-float :dimensions (grid:dimensions qr)
 		   ;; It shouldn't be necessary to initialize values
 		   ;; because we are going to setf every row,
 		   ;; Sat Dec 26 2009.
diff --git a/ordinary-differential-equations/evolution.lisp b/ordinary-differential-equations/evolution.lisp
index 37117ff3a21294cdfd29c593dc3d6b60ed7aa244..e851cbbfdfb828b750bfd9a056052308e93eaf2e 100644
--- a/ordinary-differential-equations/evolution.lisp
+++ b/ordinary-differential-equations/evolution.lisp
@@ -1,6 +1,6 @@
 ;; Evolution functions for ODE integration.
 ;; Liam Healy, Sun Sep 30 2007 - 14:31
-;; Time-stamp: <2011-01-10 17:59:27EST evolution.lisp>
+;; Time-stamp: <2011-01-10 18:16:19EST evolution.lisp>
 ;;
 ;; Copyright 2007, 2008, 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
@@ -21,7 +21,7 @@
 (in-package :gsl)
 
 (defmobject ode-evolution "gsl_odeiv_evolve"
-  ((dimensions sizet))
+  ((grid:dimensions sizet))
   "evolution for ordinary differential equations"
   :documentation "Make an object to advance the ODE solution."
   :initialize-suffix "reset"
diff --git a/solve-minimize-fit/linear-least-squares.lisp b/solve-minimize-fit/linear-least-squares.lisp
index 2fbfc681d8f338e5a4dcf039450c486b13a9ad96..5c76202d922eee7197a58564e6e13872cbbc3952 100644
--- a/solve-minimize-fit/linear-least-squares.lisp
+++ b/solve-minimize-fit/linear-least-squares.lisp
@@ -1,6 +1,6 @@
 ;; Linear least squares, or linear regression
 ;; Liam Healy <2008-01-21 12:41:46EST linear-least-squares.lisp>
-;; Time-stamp: <2011-01-10 17:59:31EST linear-least-squares.lisp>
+;; Time-stamp: <2011-01-10 18:16:18EST linear-least-squares.lisp>
 ;;
 ;; Copyright 2008, 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
@@ -284,7 +284,7 @@
     (x observations coefficients
        &optional
        (residuals
-	(grid:make-foreign-array 'double-float :dimensions (dimensions observations))))
+	(grid:make-foreign-array 'double-float :dimensions (grid:dimensions observations))))
   "gsl_multifit_linear_residuals"
   (((mpointer x) :pointer) ((mpointer observations) :pointer)
    ((mpointer coefficients) :pointer) ((mpointer residuals) :pointer))
diff --git a/solve-minimize-fit/roots-multi.lisp b/solve-minimize-fit/roots-multi.lisp
index 25b70dab625a91c9c2e56ad29cf1781cf7450412..cf8173875ecbe305e1abef6931b136ac7fc2f6c5 100644
--- a/solve-minimize-fit/roots-multi.lisp
+++ b/solve-minimize-fit/roots-multi.lisp
@@ -1,8 +1,8 @@
 ;;; Multivariate roots.                
 ;;; Liam Healy 2008-01-12 12:49:08
-;;; Time-stamp: <2010-07-13 09:52:54EDT roots-multi.lisp>
+;;; Time-stamp: <2011-01-10 18:19:07EST roots-multi.lisp>
 ;;
-;; Copyright 2008, 2009 Liam M. Healy
+;; Copyright 2008, 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
 ;;
 ;; This program is free software: you can redistribute it and/or modify
@@ -54,7 +54,7 @@
     `((type &optional function-or-dimension (initial nil ,set) (scalarsp t))
       (:type type
 	     :dimensions
-	     (if ,set (dimensions initial) function-or-dimension))
+	     (if ,set (grid:dimensions initial) function-or-dimension))
       (:functions
        (list function-or-dimension) :initial initial :scalarsp scalarsp)))
   :inputs (initial))
@@ -91,7 +91,7 @@
 	    (scalarsp t))
       (:type type
 	     :dimensions
-	     (if ,set (dimensions initial) function-or-dimension))
+	     (if ,set (grid:dimensions initial) function-or-dimension))
       (:functions function-or-dimension :initial initial :scalarsp scalarsp)))
   :inputs (initial))
 
diff --git a/sorting.lisp b/sorting.lisp
index 437cdb0b862e66c9275bd164b60111744288eab4..6edcfc9bfcc5dd24cf662effbdd652222397e78d 100644
--- a/sorting.lisp
+++ b/sorting.lisp
@@ -1,6 +1,6 @@
 ;; Sorting
 ;; Liam Healy, Fri Apr 14 2006 - 20:20
-;; Time-stamp: <2011-01-10 17:59:31EST sorting.lisp>
+;; Time-stamp: <2011-01-10 18:16:18EST sorting.lisp>
 ;;
 ;; Copyright 2006, 2007, 2008, 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
@@ -169,7 +169,7 @@
   (((grid:foreign-pointer combination) :pointer) ((size combination) sizet)
    ((mpointer v) :pointer)
    (1 sizet)				; stride, set to 1 for now
-   ((first (dimensions combination)) sizet))
+   ((first (grid:dimensions combination)) sizet))
   :definition :generic
   :element-types :no-complex
   :c-return :void
@@ -187,7 +187,7 @@
   (((grid:foreign-pointer combination) :pointer) ((size combination) sizet)
    ((grid:foreign-pointer v) :pointer)
    (1 sizet)				; stride, set to 1 for now
-   ((first (dimensions combination)) sizet))
+   ((first (grid:dimensions combination)) sizet))
   :definition :generic
   :element-types :no-complex
   :c-return :void
@@ -233,7 +233,7 @@
   (((grid:foreign-pointer combination) :pointer) ((size combination) sizet)
    ((mpointer v) :pointer)
    (1 sizet)				; stride, set to 1 for now
-   ((first (dimensions combination)) sizet))
+   ((first (grid:dimensions combination)) sizet))
   :definition :generic
   :element-types :no-complex
   :c-return :void
@@ -251,7 +251,7 @@
   (((grid:foreign-pointer combination) :pointer) ((size combination) sizet)
    ((grid:foreign-pointer v) :pointer)
    (1 sizet)				; stride, set to 1 for now
-   ((first (dimensions combination)) sizet))
+   ((first (grid:dimensions combination)) sizet))
   :element-types :no-complex
   :definition :generic
   :c-return :void
diff --git a/statistics/mean-variance.lisp b/statistics/mean-variance.lisp
index 2669c246aa41898d26abdeb1e92a084eaf365ab6..9888fbdd5d6a4746d42bb1075248e9c2a5dc131f 100644
--- a/statistics/mean-variance.lisp
+++ b/statistics/mean-variance.lisp
@@ -1,6 +1,6 @@
 ;; Mean, standard deviation, and variance    
 ;; Liam Healy, Sat Dec  2 2006 - 22:15
-;; Time-stamp: <2011-01-10 17:59:35EST mean-variance.lisp>
+;; Time-stamp: <2011-01-10 18:16:17EST mean-variance.lisp>
 ;;
 ;; Copyright 2006, 2007, 2008, 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
@@ -273,7 +273,7 @@
 (generate-all-array-tests weighted-mean :float
  (let ((v1 (array-default 8))
 	(v2 (array-default 8)))
-   (loop for i below (first (dimensions v2))
+   (loop for i below (first (grid:dimensions v2))
       do (setf (grid:gref v2 i) (abs (grid:gref v2 i))))
    (weighted-mean v1 v2)))
 |#
diff --git a/test-unit/augment.lisp b/test-unit/augment.lisp
index 17ac0d5888da5ccc6327f4b5e2120e5dab420d48..a6fdd3275c87181649948a8ee4e57889d0ee9e34 100644
--- a/test-unit/augment.lisp
+++ b/test-unit/augment.lisp
@@ -1,8 +1,8 @@
 ;; Additional methods for lisp-unit
 ;; Liam Healy 2009-04-15 23:23:30EDT augment.lisp
-;; Time-stamp: <2010-07-07 14:24:56EDT augment.lisp>
+;; Time-stamp: <2011-01-10 18:19:07EST augment.lisp>
 ;;
-;; Copyright 2009 Liam M. Healy
+;; Copyright 2009, 2011 Liam M. Healy
 ;; Distributed under the terms of the GNU General Public License
 ;;
 ;; This program is free software: you can redistribute it and/or modify
@@ -23,7 +23,7 @@
 (defmethod lisp-unit:numerical-equal
     ((result1 grid:foreign-array) (result2 grid:foreign-array) &key (test #'lisp-unit:number-equal))
   "Return true if the arrays are numerically equal according to :TEST."
-  (when (equal (dimensions result1) (dimensions result2))
+  (when (equal (grid:dimensions result1) (grid:dimensions result2))
     (lisp-unit:numerical-equal (grid:copy-to result1) (grid:copy-to result2)
 			       :test test)))