use matrix; add reference