added Matrix4f functionality