added 'smooth_eigensystem' & minor changes