Refactored everything.