matrix stuff, more to come