added Diagonal and Banded