Implement Matrix