Switched to using quaternions for rotation

It still has some kinks to work out