Re-designed Matrix api