going to do more work on matrix