initial release, only partially tested with octave due to lack of MATLAB license