Refactored everything, made it prettier