initial work for the special matrix datatype