Temp commit (refactoring in progress)
Finnished refactoring. Better execution time (noob opti)