Matrix (first try)