Major refactor - changed files