diff --git a/projects/particle_simulation/src/main.cpp b/projects/particle_simulation/src/main.cpp
index 7c7356d493b00dbfd73158aecd62e6394252fcb7..2767c23ca2c73182ee6d1deb67242ef648e1f8c7 100644
--- a/projects/particle_simulation/src/main.cpp
+++ b/projects/particle_simulation/src/main.cpp
@@ -63,27 +63,30 @@ int main(int argc, const char** argv) {
 
     vkcv::DescriptorSetHandle descriptorSet = core.createDescriptorSet(descriptorBindings);
 
-    vkcv::Buffer<Particle> vertexBuffer = core.createBuffer<Particle>(
+    vkcv::Buffer<glm::vec3> vertexBuffer = core.createBuffer<glm::vec3>(
             vkcv::BufferType::VERTEX,
             3
     );
 
-    ParticleSystem particleSystem;
-    particleSystem.addParticles({
-                                        Particle(glm::vec3(-0.5, 0.5, -1), glm::vec3(0.f)),
-                                        Particle(glm::vec3(0.5, 0.5, -1), glm::vec3(0.f)),
-                                        Particle(glm::vec3(0, -0.5, -1), glm::vec3(0.f))});
+    const std::vector<glm::vec3> vertices = {glm::vec3(-0.5, 0.5, -1),
+                                             glm::vec3( 0.5, 0.5, -1),
+                                             glm::vec3(0, -0.5, -1)};
 
-    vertexBuffer.fill(particleSystem.getParticles());
+    vertexBuffer.fill(vertices);
 
     vkcv::VertexAttribute attrib = vkcv::VertexAttribute{
             vkcv::PrimitiveType::POSITION,
-            offsetof(Particle, m_position),
-            sizeof(Particle::m_position) * particleSystem.getParticles().size(),
-            sizeof(Particle) - sizeof(Particle::m_position), // why is this the difference and not the total size? maybe calced after the last element not from the first like OpenGL
+            0,
+            sizeof(glm::vec3) * vertices.size(),
+            0,
             5126,
-            sizeof(Particle::m_position) / sizeof(float)// number of elements, like vec3 = 3
-            };
+            3};
+
+    ParticleSystem particleSystem;
+    particleSystem.addParticles({
+                                        Particle(glm::vec3(0.f), glm::vec3(0.f)),
+                                        Particle(glm::vec3(0.f), glm::vec3(0.f)),
+                                        Particle(glm::vec3(0.f), glm::vec3(0.f))});
 
     const vkcv::PipelineConfig particlePipelineDefinition(
             particleShaderProgram,