Huge refactoring! Now everything is clean and got rid of a lot of spaghetti-code