adding matrix stuff and more transform methods