anchor.diff:        (data
   
          (let ((p (cffi:foreign-alloc type :initial-contents data :count (get-size this))))
  -	      (unwind-protect
  -		   (progn (%gl:Buffer-Data target
  -					   (* (get-size this) (cffi:foreign-type-size type))
  -					   p
  -					   usage)
  -			  (setf loaded? t))
  -		
  -		(cffi:foreign-free p))))
  +	 (unwind-protect
  +	      (progn (%gl:Buffer-Data target
  +				      (size-in-bytes this)
  +				      p
  +				      usage)
  +		     (setf loaded? t))
  +	   
  +	   (cffi:foreign-free p))))
         
         ;; No Data?
         (t
   
          (%gl:Buffer-Data target
  -			  (* (get-size this) (cffi:foreign-type-size type))
  -			  (cffi:null-pointer)
  -			  usage)
  -	 (setf loaded? nil)))))
  +			(size-in-bytes this)
  +			(cffi:null-pointer)
  +			usage)
  +       (setf loaded? nil)))))
   
   
   (defmethod bind ((this buffer) &key )
  
positive.code:       ((cffi:pointerp data)
  
         (%gl:Buffer-Data target
  			(* (get-size this) (cffi:foreign-type-size type))
  			data
  			usage)
         (setf loaded? t))
  
negative.code: (defmethod size-in-bytes ((this buffer))
    "Calculates how many bytes this buffer consists of."
    (* 
     (get-size this)
     (cffi:foreign-type-size (slot-value this 'type))))
  
  
  