When using glm::rotate( X, vec3 ), you are multiplying
X * glm::rotate( Identity, vec3 )
This means rotate first, then X