demo and matrix [to do]