Issue creating or rendering VBO

This is where I create the VBO :

	public void generateVBO() {
		vertexBufferVertices = 0;
		textureBufferVertices = 0;
		for (Quad quad : quads) {
			if (quad != null) {
				for (Vertex3f vert : quad.vertices) {
					vertexBufferVertices ++;
				}
				for (Vector2f vert : quad.textureQuardinates) {
					textureBufferVertices ++;
				}
			}
		}
		
		FloatBuffer data = BufferUtils.createFloatBuffer(vertexBufferVertices*3+textureBufferVertices*2);
		for (Quad quad : quads) {
			if (quad != null) {
				for (Vertex3f vert : quad.vertices) {
					data.put(vert.x()).put(vert.y()).put(vert.z());
				}
				for (Vector2f vert : quad.textureQuardinates) {
					data.put(vert.x).put(vert.y);
				}
			}
		}
		data.flip();
		
		vertexBufferObjectID = GL15.glGenBuffers();
		GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vertexBufferObjectID);
		GL15.glBufferData(GL15.GL_ARRAY_BUFFER, data, GL15.GL_STATIC_DRAW);
	}

And here is where I render it :

			GL15.glBindBuffer(GL15.GL_ARRAY_BUFFER, vertexBufferObjectID);
			
			int stride = (3 << 2) + (2 << 2);
			int offset = 0;
			
			GL11.glEnableClientState(GL11.GL_VERTEX_ARRAY);
			GL11.glVertexPointer(3, GL11.GL_FLOAT, stride, offset);
			offset += (3 << 2);
			
			GL11.glEnableClientState(GL11.GL_TEXTURE_COORD_ARRAY);
			GL11.glTexCoordPointer(2, GL11.GL_FLOAT, stride, offset);
			offset += (2 << 2);
			
			
			GL11.glDrawArrays(GL11.GL_QUADS, 0, vertexBufferVertices);
			
			GL11.glDisableClientState(GL11.GL_VERTEX_ARRAY);
			GL11.glDisableClientState(GL11.GL_TEXTURE_COORD_ARRAY);

Im sorry for bothering you guys for help, but I cant figure out what I’m doing wrong. Im sure its right in front of me.

EDIT :
Should have been more clear, nothing crashes, but its rending strangely. I suspect it is the issue with the stride/offset.