Matrix implemented