diff --git a/Level.cpp b/Level.cpp
index 4d99516c218d0358533122673e72fc34cba8da14..fa15d5cc0f700e176c19fc82b82f44a1fd5a00a3 100644
--- a/Level.cpp
+++ b/Level.cpp
@@ -190,10 +190,10 @@ void Level::doDoSteps(FloatSeconds const &frame_time)
     }
 }
 
-bool Level::collHelper(Position const& vecPos, int vecWidth, int vecHeigth, float buffPosX, float buffPosY, int buffWidth, int buffHeigth)
+bool Level::collHelper(Position const& vecPos, PixelBuffer const& vecBuf, float buffPosX, float buffPosY, int buffWidth, int buffHeigth)
 {
-    for(int x = static_cast<int>(vecPos.X); x <= static_cast<int>(vecPos.X) + vecWidth; ++x){
-        for(int y = static_cast<int>(vecPos.Y); y <= static_cast<int>(vecPos.Y) + vecHeigth; ++y){
+    for(int x = static_cast<int>(vecPos.X); x <= static_cast<int>(vecPos.X) + vecBuf.w(); ++x){
+        for(int y = static_cast<int>(vecPos.Y); y <= static_cast<int>(vecPos.Y) + vecBuf.h(); ++y){
             if((x >= buffPosX && x <= buffPosX + buffWidth)&&(y >= buffPosY && y <= buffPosY + buffHeigth)){
                 return true;
             }
@@ -205,13 +205,13 @@ bool Level::collHelper(Position const& vecPos, int vecWidth, int vecHeigth, floa
 bool Level::checkCollision(float posX, float posY, int bufferWidth, int bufferHeigth)
 {
     for(auto i = this->wallVector.begin(); i != this->wallVector.end(); i++ ){
-        if(collHelper(i->getTopLeft(), i->getWallBuffer().w(), i->getWallBuffer().h(), posX, posY, bufferWidth, bufferHeigth)) return true;
+        if(collHelper(i->getTopLeft(), i->getWallBuffer(), posX, posY, bufferWidth, bufferHeigth)) return true;
     }
     for(auto i = this->borders.begin(); i != this->borders.end(); i++ ){
-        if(collHelper(i->getTopLeft(), i->getWallBuffer().w(), i->getWallBuffer().h(), posX, posY, bufferWidth, bufferHeigth)) return true;
+        if(collHelper(i->getTopLeft(), i->getWallBuffer(), posX, posY, bufferWidth, bufferHeigth)) return true;
     }
     for(auto i = this->sceneryVector.begin(); i != this->sceneryVector.end(); i++ ){
-        if(collHelper(i->getTopLeft(), i->getSceneryBuffer(i->getSceneryType()).w(), i->getSceneryBuffer(i->getSceneryType()).h(), posX, posY, bufferWidth, bufferHeigth)) return true;
+        if(collHelper(i->getTopLeft(), i->getSceneryBuffer(i->getSceneryType()), posX, posY, bufferWidth, bufferHeigth)) return true;
     }
     return false;
 }
@@ -219,7 +219,7 @@ bool Level::checkCollision(float posX, float posY, int bufferWidth, int bufferHe
 /*Hauerch71498 Hitdetection*/
 bool Level::HitEnemy(float posX, float posY, int bufferWidth, int bufferHeigth)
 {
-    if(collHelper(player.getTopLeft(),player.getBuffer().w(),player.getBuffer().h(),posX,posY,bufferWidth,bufferHeigth))
+    if(collHelper(player.getTopLeft(),player.getBuffer(),posX,posY,bufferWidth,bufferHeigth))
     {
         player.takeDamage();
         return true;
@@ -230,7 +230,7 @@ bool Level::HitEnemy(float posX, float posY, int bufferWidth, int bufferHeigth)
 bool Level::HitPlayer(float posX, float posY, int bufferWidth, int bufferHeigth)
 {
     for(auto &i : this->enemyVector){
-        if(i != nullptr && collHelper(i->getTopLeft(), i->getCurrentSprite().w(), i->getCurrentSprite().h(), posX, posY, bufferWidth, bufferHeigth))
+        if(i != nullptr && collHelper(i->getTopLeft(), i->getCurrentSprite(), posX, posY, bufferWidth, bufferHeigth))
         {
             //HauerCh71498
             //{
@@ -250,14 +250,14 @@ bool Level::HitPlayer(float posX, float posY, int bufferWidth, int bufferHeigth)
 bool Level::HitObstacle(float posX, float posY, int bufferWidth, int bufferHeigth)
 {
     for(auto &i : wallVector){
-        if(collHelper(i.getTopLeft(), i.getWallBuffer().w(), i.getWallBuffer().h(), posX, posY, bufferWidth, bufferHeigth))
+        if(collHelper(i.getTopLeft(), i.getWallBuffer(), posX, posY, bufferWidth, bufferHeigth))
         {
             i.takeDamage();
             return true;
         }
     }
     for(auto &i : sceneryVector) {
-        if(collHelper(i.getTopLeft(), i.getSceneryBuffer(i.getSceneryType()).w(), i.getSceneryBuffer(i.getSceneryType()).h(), posX, posY, bufferWidth, bufferHeigth))
+        if(collHelper(i.getTopLeft(), i.getSceneryBuffer(i.getSceneryType()), posX, posY, bufferWidth, bufferHeigth))
         {
             i.takeDamage();
             return true;
diff --git a/Level.hpp b/Level.hpp
index 26c30aa35346212cacc7edd72f6bc52a5b1f625a..58f7f0147a023cfe52a7c9a73e32c2d6566c1fdd 100644
--- a/Level.hpp
+++ b/Level.hpp
@@ -158,7 +158,7 @@ private:
     std::vector<std::unique_ptr<Enemy>> enemyVector;
     std::vector<std::unique_ptr<Projectile>> projectileVector;
     std::vector<std::unique_ptr<Enemy>> trooperSpawner;
-    bool collHelper(Position const& vecPos, int vecWidth, int vecHeigth, float buffPosX, float buffPosY, int buffWidth, int buffHeigth);
+    bool collHelper(Position const& vecPos, PixelBuffer const& vecBuf, float buffPosX, float buffPosY, int buffWidth, int buffHeigth);
 
     int score = 0; //hauerch71498
 };