correct x/y swap (i think) & move euler rotation to its own function